home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
AMIGA
/
AMICUS
/
AMICUS08.ADF
/
Text
/
Generic DiskDrive
< prev
next >
Wrap
Text File
|
1986-04-02
|
9KB
|
163 lines
Okay, here goes a description of how I made the 5 1/4 inch drive work
(with Transformer). First off, a warning: +5 volts, +12 volts,
and ground are all available on pins of the external disk connector.
Mess up, and you will almost surely do nasty things to your Amiga's
power supply. On the other hand, it would be pretty difficult to
damage your external drive. Standard 5 inch drives use open-collector
drivers to feed the cable, and these will only be damaged if you
short the pins to +5 volts while the drive is attempting to make
the pin go to ground. Shorts to ground should do no harm. If you
are uncertain as to what I just said, probably you want to BUY your
5 inch drive....
So I can't scare you off so easily, huh? OK, the drive itself must
be able to keep up with step pulses 5 milliseconds apart. This rate
was MEASURED on my Amiga with an oscilloscope. This rate is
fairly fast for 5 inch drives, and not all "IBM compatible" drives
will do. Mine is a Toshiba, bought just for the purpose as my
Shugart drives wouldn't work. Also, you must supply power separately
for the drive, as the Amiga power supply is not designed for the load
of a 5 inch drive, just one 3 incher. If you don't have such a
critter setting around, I suggest you buy a box with power supply
from your friendly neighborhood computer surplus store. If no
such thing is available, you probably are not going to save very much
over the Commodore drive, which would save you a lot of trouble, too.
Finally, you need a little circuit, 2 ICs and 4 resistors or a dual
inline resistor pack, plus some kind of connectors for the back of
the Amiga and for the edge fingers on your drive. The DB23 male you
need for the Amiga is anything but easy to find; I have NO source
in San Diego. What I did was to take a DB25 and cut of the end of
the outer shell and two pins to allow it to physically fit on the back
of my extension drive. BE CAREFUL WITH PIN NUMBERS! DB connectors
count across one row and then across the other; removing two pins
either messes up ALL the numbers or HALF of them, depending on which
end you cut off. I then took a small (approx. 2 by 2 1/2 inches)
piece of perfboard and wedged it endwise between the rows of pins
of the DB25/3 so that when plugged in to the back of the Amiga, the
board sticks straight out. I soldered short wires between the connector
pins and some wirewrap pins. Amazingly, it stays put with no glue or
anything else. I then wirewrapped the rest of the circuit, using
a 34 pin header for the output. This allowed me to use a fairly
standard ribbon cable with edge connector on one end and header connector
on the other. The following chart lists the pins on the Amiga DB23,
its function/logic name, and the pin on the drive edge fingers.
The Amiga pinout is from the V1.0 Hardware manual, and the logic
names are as used by Shugart (fairly standard). The drive pinout is
absolutely standard, on both the edge fingers and the power connector.
The Amiga pin numbers are for a DB23 connector; if you have kludged
a DB25 DON'T FORGET TO ADJUST THE NUMBERS!!!
DB23 Drive edge Logic Name Function
---- ---------- ---------- --------
1 34 DSKRDY* Drive says it's ready
2 30 DSKRD* Read data from drive
3 ground
4 ground
5 ground Connect all of these to the ODD numbered
6 ground pins of the ribbon cable
7 ground
8 (16) DSKMOTOR* Don't directly connect this;
see the circuit below!
9 12 DSKSEL2* Not needed; Amiga offsets
drive select pins so every
drive thinks it's drive 1.
The output select 1 is the
input select 2, etc. Just
use select 1 and put your
5 incher on the end of the
chain!
10 n/c RESET* Drive reset (not used by
most drives; see circuit
below).
11 n/c DSKCHNG* Disk changed; not used.
12 n/c +5 VDC Use to power circuit below
ONLY. Do not use to power
drive.
13 32 DSKSIDE* Side select to drive
14 28 DSKPROT* Write protect to Amiga
15 26 DSKTRK0* Drive at track zero to Amiga
16 24 DKWEB* Write enable to drive
17 22 DKWDB* Write data to drive
18 20 DSKSTEP* Stepping pulses to drive
19 18 DSKDIREC Step in or out
20 14 DSKSEL3* Don't use!
21 10 DSKSEL1* Select 1, also used by circuit
below.
22 8 DSKINDEX Index pulses to Amiga.
Remaining edge connector pins are unused, and should not be connected.
The following circuit performs the only Amiga-specific function
not usually found in a floppy drive. In the Amiga world, each drive
latches the motor on signal when it is selected, and only turns off
its motor when it is selected with the motor signal off. In other
words, DSKMOTOR* to the drive takes on the value of Amiga pin 8
AT THE TIME DSKSEL1* IS ASSERTED, and it REMAINS IN THAT STATE until
the drive is selected AGAIN with pin 8 deasserted. The circuit consists
of a D-type flip-flop whose D input is pin 8 and whose output drives
DSKMOTOR*. DSKSEL1* triggers the flip-flop. Because the drive will
pull up the DSKMOTOR* signal, and because it is poor practice to
directly drive a cable from a flip-flop, an open-collector inverter/
driver IC is used to buffer the DSKMOTOR* signal. A spare section of
the same IC is used to invert the DSKSEL1* signal, since the flip-flop
triggers on rising edge and DSKSEL1* asserts on falling edge.
Because the Amiga expects a drive on the cable, pin 8 is open-collector
and must be pulled up on the circuit board. Likewise the output of the
inverter used to invert DSKSEL1*; DSKSEL1* itself is pulled up in the
drive. In addition, the S and R inputs of the flip-flop must be pulled
high. Resistor values should be approximately 1000 ohms; as high as
10K ohms would be fine. A package of 7 or 13 resistors in a DIP
package would be great; you can then wirewrap a 14 pin socket for them.
The flip-flop should be a 7474 type; any one of 7474, 74L74, 74LS74,
74H74, 74S74, 74AS74, 74ALS74 would be just fine. If you need to buy one,
I would go for 74LS74 or 7474. Likewise for the open-collector inverter;
any variation of 7405 would do. Only 2 of 6 inverters in the 7405 and
one of two flip-flops in the 7474 will be used. Wire as follows:
Amiga DB23 pin 8 to a pullup resistor and to pin 2 of the 7474 (D input).
Amiga DB23 pin 21 (DSKSEL1*) to ribbon pin 10 to 7405 pin 5 (inverter input).
7405 pin 6 (inverter output) to another pullup resistor and to
7474 pin 3 (trigger input).
7474 pin 4 to a third pullup (preset input).
Amiga DB23 pin 10 to a fourth pullup resistor and to 7474 pin 1 (reset
input). This assures the drive gets deselected when the Amiga resets.
7474 pin 6 (inverted output) to 7405 pin 3 (second inverter input).
7405 pin 4 (second inverter output) to ribbon pin 16 (DSKMOTOR*).
7474 pin 5, the uninverted output, is unused.
7474 pin 7 is ground and 7474 pin 14 is +5 volts.
7405 pin 7 is ground and 7405 pin 14 is +5 volts.
Use Amiga pin 12 as the source for the +5 volts needed by the 2 ICs and
the pullup resistors, NOTHING ELSE.
I suggest you draw the above circuit on a piece of paper so you
understand it before trying it!
REMEMBER, NO CONNECTION to Amiga pin 23 (+12 volts).
You will probably have to play with the jumpers on the drive.
When properly working, the drive LED will go on and the drive start
spinning when you load the Transformer and hit carriage return to
its "insert boot disk" prompt, even if there is no disk in the
drive. The light should stay on for about 3 seconds and then go off.
Good Luck!
-Marty
Press <CR> to continue: